Hypotheses generation based on multidimensional slicing

ABSTRACT

A receiver is configured to receive a sample of an inter-symbol correlated (ISC) signal, the sample corresponding to a time instant when phase and/or amplitude of the ISC signal is a result of correlation among a plurality of symbols of a transmitted symbol sequence. The receiver may linearize the sample of the ISC signal. The receiver may calculate a residual signal value based on the linearized sample of the ISC signal. The receiver may generate an estimate of one or more of said plurality of symbols based on the residual signal value. The linearization may comprise applying an estimate of an inverse of a non-linear model. The non-linear model may be a model of nonlinearity experienced by the ISC signal in a transmitter from which the ISC signal originated, in a channel through which the ISC signal passed en route to the receiver, and/or in a front-end of the receiver.

INCORPORATION BY REFERENCE

The entirety of each of the following applications is hereby incorporated herein by reference:

U.S. patent application Ser. No. 14/079,304 titled “Hypothesis Generation Based on Multidimensional Slicing,” and filed on Nov. 13, 2013;

U.S. Pat. No. 8,582,637 titled “Low-Complexity, Highly-Spectrally-Efficient Communications;”

U.S. patent application Ser. No. 13/754,998, titled “Design and Optimization of Partial Response Pulse Shape Filter,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,675,769 titled “Constellation Map Optimization For Highly Spectrally Efficient Communications,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,571,131 titled “Dynamic Filter Adjustment for Highly-Spectrally-Efficient Communications;”

U.S. Pat. No. 8,559,494, titled “Timing Synchronization for Reception of Highly-Spectrally-Efficient Communications;”

U.S. Pat. No. 8,559,496, titled “Signal Reception Using Non-Linearity Compensated, Partial Response Feedback;”

U.S. Pat. No. 8,599,914 titled “Feed Forward Equalization for Highly-Spectrally-Efficient Communications,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,665,941 titled “Decision Feedback Equalizer for Highly-Spectrally-Efficient Communications,” and filed on Jan. 31, 2013;

U.S. patent application Ser. No. 13/755,025, titled “Decision Feedback Equalizer with Multiple Cores for Highly-Spectrally-Efficient Communications,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,559,498 titled “Decision Feedback Equalizer Utilizing Symbol Error Rate Biased Adaptation Function for Highly-Spectrally-Efficient Communications;”

U.S. Pat. No. 8,548,097 titled “Coarse Phase Estimation for Highly-Spectrally-Efficient Communications;”

U.S. Pat. No. 8,565,363 “Fine Phase Estimation for Highly Spectrally Efficient Communications;”

U.S. patent application Ser. No. 13/755,972, titled “Multi-Mode Transmitter for Highly-Spectrally-Efficient Communications,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,605,832 titled “Joint Sequence Estimation of Symbol and Phase with High Tolerance of Nonlinearity,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,553,821 titled “Adaptive Non-Linear Model for Highly-Spectrally-Efficient Communications;”

U.S. patent application Ser. No. 13/755,052, titled “Pilot Symbol Aided Sequence Estimation for Highly-Spectrally-Efficient Communications,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,666,000 titled “Reduced State Sequence Estimation with Soft Decision Outputs” and filed on Jun. 20, 2013;

U.S. Pat. No. 8,571,146 titled “Method and System for Corrupt Symbol Handling for Providing High Reliability Sequences;”

U.S. Pat. No. 8,566,687 titled “Method and System for Forward Error Correction Decoding with Parity Check for Use in Low Complexity Highly-Spectrally Efficient Communications;”

U.S. patent application Ser. No. 13/755,061, titled “Method and System for Quality of Service (QoS) Awareness in a Single-Channel Communication System,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,665,992 titled “Pilot Symbol Generation for Highly-Spectrally Efficient Communications,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,548,072 titled “Timing Pilot Generation for Highly-Spectrally Efficient Communications;”

U.S. patent application Ser. No. 13/756,010, titled “Multi-Mode Receiver for Highly-Spectrally-Efficient Communications,” and filed on Jan. 31, 2013;

U.S. Pat. No. 8,572,458 titled “Forward Error Correction with Parity Check Encoding for Use in Low Complexity Highly-Spectrally Efficient Communications;”

U.S. Pat. No. 8,526,523 titled “Highly-Spectrally-Efficient Receiver;”

U.S. patent application Ser. No. 13/921,665 titled “Highly-Spectrally-Efficient Transmission Using Orthogonal Frequency Division Multiplexing,” and filed on Jun. 19, 2013;

U.S. patent application Ser. No. 13/921,710 titled “Highly-Spectrally-Efficient Reception Using Orthogonal Frequency Division Multiplexing,” and filed on Jun. 19, 2013;

U.S. patent application Ser. No. 13/921,749 titled “Multi-Mode OFDM Transmitter for Highly-Spectrally-Efficient Communications,” and filed on Jun. 19, 2013; and

U.S. Pat. No. 8,681,889 titled “Multi-Mode OFDM Receiver for Highly-Spectrally-Efficient Communications,” and filed on Jun. 19, 2013.

TECHNICAL FIELD

Aspects of the present application relate to electronic signal processing. More specifically, to methods and systems for hypotheses generation based on multidimensional slicing.

BACKGROUND

Traditional reduced complexity sequence estimation or trellis algorithms are based on best path search. Survivor paths are selected based on extended path metric calculation for every path candidate. The total number of extended path metrics is the product of the number of survivors and the symbol constellation size (Alphabet consists of M symbols), meaning that every survivor is duplicated M times in order to find the most probable successors (e.g., M-algorithm). Such process exhibits huge amount of complexity in case of large Alphabet size. In the presence of low SNR (close to the cutoff rate), it is required to increase the number of survivors beyond M to assure near ML (Maximum Likelihood) performance.

BRIEF SUMMARY OF THE DISCLOSURE

Methods and systems are provided for hypotheses generation based on multidimensional slicing, substantially as illustrated by and/or described in connection with at least one of the figures, as set forth more completely in the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 depicts an example communication system in which signals may be demodulated using multidimensional slicing.

FIG. 2 is a flowchart depicting an example method for partial (multidimensional) slicing to generate the most probable hypotheses for high performance/low complexity sequence estimation.

FIG. 3 shows an example two-dimensional lattice (N₂=2) for QAM-32.

FIG. 4 illustrates the Euclidean distance of the lattice of FIG. 3 as a function of {tilde over (h)}₁ for {tilde over (h)}₂=0.9.

FIG. 5 shows an example two-dimensional lattice (N₂=2) for QAM-32.

FIG. 6 illustrates simulation results for residual signal values in which the transmitted signal was an ISC signal in the presence of noise and the partial lattice used was the lattice of FIG. 5.

FIG. 7 depicts operations of an example implementation of the sequence estimation circuit of FIG. 1.

DETAILED DESCRIPTION

Expression (1) represents the recursive log-likelihood score (metric) function for ML detection: J( ŝ _([n]))=J( ŝ _([n-1]))−|y _([n]) −â _([n]) ^(T) ·{tilde over (h)}| ²,  (1) where y_([n]) represents the sample of the received signal at time instant n. The received signal may be a partial response (PR) signal or may be a signal that was transmitted with near-zero inter-symbol interference (ISI) (e.g., via an root raised cosine (RRC) pulse-shaping filter) but which has ISI as a result of channel effects (e.g., multipath). {tilde over (h)} represents the N_({tilde over (h)}) PR filter taps coefficients, ŝ _([n])=[â_([n-N) _({tilde over (h)}) _(+1]) , â_([n-N) _({tilde over (h)}) _(+2]) , . . . , â_([n])], and each â_([ ]) represents the estimated state of a symbol of the received signal at time instant n. Full state space search such as the Viterbi algorithm is prohibitively complex for a large constellation size A and a long estimated composite response {tilde over (h)}. A practical solution will be to use reduced state sequence estimation (RSSE) that processes a sub space of the full state space. One of the most attractive algorithms for sequence estimation (in terms of both cost and performance) is the M-algorithm which maintains M survivor vectors/paths/sequences (vector, path, and sequence are used synonymously in this disclosure) that achieve the largest log-likelihood score J (â _([n]) ^((m))), m=1,2, . . . , M at a given time instant n, where â _([n]) ^((m)) is a row vector of the m^(th) survivor sequence of the estimated symbols. For every incoming new sample, each survivor is iteratively extended to M successors with each of the successors comprising a respective one of the M=A constellation symbols in the most-recent symbol location (at index 0). Assuming that the notation (m, k) represents the k-th successor of the m-th survivor path, the branch metrics for M·A successors are calculated by: BM _([n]) ^((m,k)) =−|y _([n]) −â _([n]) ^((m,k)) ·{tilde over (h)}| ² , m=1,2, . . . , M; and k=1,2, . . . , A.  (2)

The successor scores are updated with the branch metric: J _([n]) ^((m,k)) =J _([n-1]) ^((m,k)) +BM _([n]) ^((m,k)), m=1,2, . . . , ; and k=1,2, . . . , A.  (3)

The survivors are taken to be the M successors (out of the M·A total successors) with the highest log-likelihood score J_([n]) ^((m,k)). The M-algorithm may be subject to severe performance degradation around the threshold SNR (cutoff rate) as a result of Correct Path Loss (CPL) events. A CPL event occurs when the successor corresponding to the actual transmitted sequence attains a relatively-low successor score compared to other successors, and is consequently not selected as one of the M survivors for the next iteration. Such an event results in an inevitable error event which could have been avoided in a full-blown ML decoding. It is possible to reduce the CPL event probability by increasing the number of survivors retained for each iteration, but this entails larger complexity, in particular when operating close to the cutoff rate. The CPL event also depends on the magnitude of the first tap coefficient of the composite filter that provides the estimated composite response {tilde over (h)}. The magnitude of the first coefficient plays a significant role in the selection of the survivors. This coefficient multiplies the most-recent symbol of the successors and determines the branch metrics of the successors. Thus, in the conventional M-algorithm, the A branch metrics of the A successors generated from the mth survivor differ based only on their respective most-recent symbols. When the first tap coefficient magnitude is relatively small, the information in the new branch is relatively meager, and thus is not reliable, especially for relatively low SNR values. Another drawback of the conventional M-algorithm is that it may be considered cumbersome and not cost effective to perform a search over the entire alphabet size (i.e., to generate, and calculate branch metrics for, all A successors for each of the M survivors), since, given the survivor state and the incoming sample, certain ones of the A possible symbol values are more likely than others.

Aspects of this disclosure, provide for performance (e.g., measured in symbol error rate, bit error rate, and/or the like) that meets or exceeds the conventional M-algorithm with less cost and/or complexity. In this regard, aspects of this disclosure provide a sequence estimation technique that extracts information from the Euclidean space to calculate and compare branch metrics using only the most-likely hypotheses. This approach enables to improve performance and reduce complexity. For each of the M successors generated from the m^(th) survivor, a branch vector hypothesis may be inserted at one or more symbol locations (the “branch locations”), at least one of which may be associated with a relatively large (perhaps largest) one of the coefficients p, where p is the vector (of length N_(p)) of filter tap coefficients of a filter corresponding the estimated composite response {tilde over (h)}. In this manner, the CPL probability may be significantly reduced relative to the conventional M-algorithm in which the branch locations consist only of the most-recent symbol location, which is associated with the first of the coefficients p (which is typically relatively-small for spectral mask compliance).

FIG. 1 depicts an example communication system in which signals may be demodulated using multidimensional slicing. Shown are a transmitter 100 and a receiver 108 which communicate over a channel that introduces noise which may be adequately modeled as additive white Gaussian noise (AWGN).

Shown in the transmitter 100 are a forward error correction (FEC) encoder 102, a modulator 104, and an analog/RF front-end 106. The encoder 102, modulator 104, and front-end 106 may, for example, be integrated on one or more semiconductor dies (e.g., 102 and 104 may be part of a baseband processor integrated circuit (IC) and the front-end 106 may comprise discrete components and/or a second IC). In various example implementations, the transmitter 100 may be similar to, or the same as, the transmitters described in one or more of the above-incorporated patents and applications (e.g., transmitter 120 of U.S. patent application Ser. No. 13/922,329), but may differ in operation or configuration from such transmitters where necessary to implement aspects of this disclosure.

In an example implementation, the transmitter 100 may use a linear modulation scheme such as Pulse Amplitude Modulation (PAM) or Quadrature Amplitude Modulation (QAM) usually with a zero-ISI (Inter-symbol Interference) pulse shaping filter. That is, the pulse shaping filter (e.g., in front end 106) may take on a zero value at any integer multiple of the symbol period, t=nT, where n in an integer and T is the symbol period (except for n=0). Zero-ISI signals are generated by filters that obey the so-called Nyquist's Second Criterion, for example, a raised-cosine filter.

In another example implementation, the transmitter 100 may use a linear modulation scheme along with partial response pulse shaping that introduces correlation between successive symbols. Such a filter does not introduce nulls at time instants which are integer multiples of the symbol period. The transmit signal generated by such a filter intentionally has a substantial amount of ISI. The ISI is therefore a controlled ISI. A partial response signal is just one example of a type of signal for which there is correlation among symbols of the signal (referred to herein as “inter-symbol-correlated (ISC) signals”). Accordingly, in still other example implementations, the transmitter 100 may transmit other ISC signals such as, for example, signals generated via matrix multiplication (e.g., lattice coding), signals generated via decimation as in multi-carrier applications such as in OFDM systems, and signals corrupted by some nonlinear distortion such as phase noise and amplifier compression.

Shown in the receiver 108 are an analog/RF front-end 110, a sequence estimation circuit 112, and an FEC decoding circuit 114. The analog/RF front-end 110, a sequence estimation circuit 112, and an FEC decoding circuit 114 may, for example, be integrated on one or more semiconductor dies (e.g., 112 and 114 may be part of a baseband processor integrated circuit (IC) and the front-end 110 may comprise discrete components and/or a second IC). In various example implementations, the receiver 108 may be similar to, or the same as, the receiver described in one or more of the above-incorporated patents and applications (e.g., receiver 130 of U.S. patent application Ser. No. 13/922,329), but may differ in operation or configuration from such receivers where necessary to implement aspects of this disclosure.

First considering the case where the AWGN is negligible, any modulated sample, y_([n]), of signal 117 received by receiver 108 can be represented by an inner product between a sequence of symbols a^(T) transmitted by transmitter 100, and the coefficients p of the composite filter that models the composite response of the front-end 106, the channel 116, and the front-end 110. This inner product can be expressed as y=a ^(T)·p and may be considered as a point of an N_(p)-dimensional lattice (a “partial lattice”). This inner product may be represented by two contributions: a ₁ ^(T)·p ₁ and a ₂ ^(T)·p ₂ (i.e., a ^(T)·p=a ₁ ^(T)·p ₁+a ₂ ^(T)·p ₂). Thus, a ₂ ^(T)·p ₂=y−a ₁ ^(T)·p ₁, may be considered as a partial, N₂-dimensional lattice slicing problem, where N₂ stands for the length of p ₂, a ₂ consists of N₂ symbols, and N₂<N_(p). Assuming that a ₁ ^(T)·p ₁ is known, it is possible to generate a hypothesis for the branch vector a ₂ (a branch vector hypothesis is denoted â ₂) based on the partial lattice point D_(x)=y−a ₁ ^(T)·p ₁ using a multidimensional slicing. The slicing may be performed by the sequence estimation circuit 112 using a look-up table populated based on the known response p ₂ (i.e., â ₂=LUT{D_(x)}). The look-up table represents the partial lattice generated by the response p ₂ and, in an example implementation for an ideal channel, there may be a one-to-one mapping between partial lattice points D_(x) and branch vector hypotheses â ₂.

Now considering the case where the AWGN is not negligible, each sample of the received signal 117 is given by τ=y+η, where η represents the AWGN, and may correspond to a residual signal value D_(τ)=τ−a ₁ ^(T)·p ₁. As a result of the noise, the residual signal value D_(τ) may be off the partial lattice (i.e., not coincide with any of the partial lattice points D_(x)). Consequently, the hypotheses â ₂ ⁽¹⁾ corresponding to the ML solution based on a single received sample τ is the partial lattice point D_(x) that is closest to residual signal value D_(τ). Additional branch vector hypotheses (denoted â ₂ ^((k)), k=2,3, . . . Q) corresponding to the Q-1 partial lattice points D_(x) that are next-closest to the residual signal value D_(τ) may also be determined from the slicing. That is, rather than a one-to-one mapping, any particular residual signal value D_(τ) may be mapped to Q hypotheses of the branch vector a ₂ (denoted â ₂ ^((k)), k=1,2,3, . . . Q) per survivor. The hypotheses can be used as an alternative to the exhaustive search performed by the M-algorithm. The hypotheses have depth of N₂ rather than depth of 1 as in the conventional M-algorithm. In an example implementation, the branch vector hypotheses may be inserted into the successors at the branch locations which have indexes of [N₂+1,N₂+2, . . . 1,n]. Consequently, the hypotheses for a current iteration may overwrite symbols of one or more hypotheses from one or more previous iterations. Thus, the successors of the m^(th) survivor may comprise: (1) survivor symbols in locations which have indexes of [N_(p)+1, N_(p)+2, . . . N₂], and (2) branch symbols in locations which have indexes of [N₂+1,N₂+2, . . . 1,n]. By generating successors in this way it is possible to recover from a CPL event.

The generation of branch vector hypotheses may be considered as a multidimensional slicing. This slicing is based on the response p ₂ that may be selected to incorporate the tap coefficients with relatively-high (perhaps the highest) magnitude in order to improve the reliability of the slicing compared to the search carried out by the M-algorithm. In an example implementation, the algorithm may be formulated as follows: Assuming that at time instant n−1, the m^(th) survivor is â _([n-1]) ^((m))=[â_([n-N) _({tilde over (h)}]) ^((m)), â_([n-N) _({tilde over (h)}) _(+1]) ^((m)), . . . , â_([n-1]) ^((m))], then the k^(th) successor of the m^(th) survivor at time instant n may be represented as: â _([n]) ^((m,k)) =[â _([n-N) _({tilde over (h)}) _(+1]) ^((m)) , â _([n-N) _({tilde over (h)}) _(+2]) ^((m)) , . . . , â _([n-N) ₂ _(]) ^((m)) , â _([n-N) ₂ _(+1]) ^((m,k)) , . . . , â _([n]) ^((m,k))],  (4)

The N₂ branch symbols of the k^(th) successor (i.e., the k^(th) hypothesis) for the m^(th) survivor may then be represented as: â _(2[n]) ^((m,k))

[â _([n-N) ₂ _(+1]) ^((m,k)) , . . . , â _([n]) ^((m,k))]  (5)

Assuming that â _(1[n]) ^((m,k))=â _(1[n]) ^((m))

[â_([n-N) _({tilde over (h)}) _(+1]) ^((m)), â_([n-N) _({tilde over (h)}) _(+2]) ^((m)), . . . â_([n-N) ₂ _(]) ^((m))] is the known reference sequence of the survivor symbols, we can represent the 1^(st) hypothesis of the m^(th) survivor as:

$\begin{matrix} {{{\underset{\_}{\hat{a}}}_{2{\lbrack n\rbrack}}^{({m,1})}\overset{\Delta}{=}{\begin{matrix} {\arg\;\min} \\ {\underset{\_}{\hat{a}}}_{2} \end{matrix}\left\{ {{r_{\lbrack n\rbrack} - {{\underset{\_}{\hat{a}}}_{1{\lbrack n\rbrack}}^{(m)} \cdot {\underset{\_}{\overset{\sim}{h}}}_{1}} - {{\underset{\_}{\hat{a}}}_{2} \cdot {\underset{\_}{\overset{\sim}{h}}}_{2}}}}^{2} \right\}}},} & (6) \end{matrix}$ the 2^(nd) hypothesis for the m^(th) survivor as:

$\begin{matrix} {{{\underset{\_}{\hat{a}}}_{2{\lbrack n\rbrack}}^{({m,2})}\overset{\Delta}{=}{\begin{matrix} {\arg\;\min} \\ {\underset{\_}{\hat{a}}}_{2} \end{matrix}\left\{ {{{r_{\lbrack n\rbrack} - {{\underset{\_}{\hat{a}}}_{1{\lbrack n\rbrack}}^{(m)} \cdot {\underset{\_}{\overset{\sim}{h}}}_{1}} - {{\underset{\_}{\hat{a}}}_{2} \cdot {\underset{\_}{\overset{\sim}{h}}}_{2}}}}^{2}:{{\underset{\_}{\hat{a}}}_{2{\lbrack n\rbrack}}^{({m,2})} \neq {\underset{\_}{\hat{a}}}_{2{\lbrack n\rbrack}}^{({m,1})}}} \right\}}},} & (7) \end{matrix}$ and, in general, the k^(th) hypothesis for the m^(th) survivor as:

$\begin{matrix} {{{\underset{\_}{\hat{a}}}_{2{\lbrack n\rbrack}}^{({m,k})}\overset{\Delta}{=}{\begin{matrix} {\arg\;\min} \\ {\underset{\_}{\hat{a}}}_{2} \end{matrix}\left\{ {{{r_{\lbrack n\rbrack} - {{\underset{\_}{\hat{a}}}_{1{\lbrack n\rbrack}}^{(m)} \cdot {\underset{\_}{\overset{\sim}{h}}}_{1}} - {{\underset{\_}{\hat{a}}}_{2} \cdot {\underset{\_}{\overset{\sim}{h}}}_{2}}}}^{2}:{{\underset{\_}{\hat{a}}}_{2{\lbrack n\rbrack}}^{({m,k})} \neq {{\underset{\_}{\hat{a}}}_{2{\lbrack n\rbrack}}^{({m,q})}{\forall{0 < q < k}}}}} \right\}}},} & (8) \end{matrix}$ where {tilde over (h)}=[{tilde over (h)} ₁ {tilde over (h)} ₂] represents the decomposition of the composite response to the partial lattice structure, and argmin â ₂{F(â ₂)} is the value of â ₂ that minimizes the expression F(â ₂). The tap coefficients of {tilde over (h)} are represented in this disclosure as {tilde over (h)}_(x), for 1≦x≦N_(p). For relatively small values of N₂ (e.g., less than 10), the set of hypotheses â _(2[n]) ^((m,k)), k=1,2, . . . , Q may be extracted with low complexity by a look-up table built according to the partial response {tilde over (h)} ₂. This table uses as its input the residual signal value τ_([n])−â _(1[n]) ^((m))·{tilde over (h)} ₁. For reference, when N₂=N_({tilde over (h)}), and Q=AN_({tilde over (h)})−1, then the proposed method coincides with the full state space ML search.

As discussed above, in typical reduced complexity sequence estimation algorithms, a single symbol branch vector (e.g., inserted at index 0 of the successors) is used for branch metric calculation. This typically results in branch metrics that are unreliable due to the low amplitude of the tap coefficient associated with the single branch location. Using a two symbol branch vector (e.g., inserted at indexes 1 and 0 of the successors) is much more reliable because of the higher magnitude of the tap coefficient associated with the second branch location (e.g., the tap coefficient associated with index 1). The reliability, however, comes at the price of much more complexity. For example in the case of M-algorithm, calculating branch metrics for two branch symbols will require M³ branch metric calculations (M² branch metrics for each of M survivors) instead of M² branch metric calculations (M branch metrics for each of the M survivors) for the single branch symbol case. Thus, complexity of the Look-Up Table (LUT) grows exponentially with increase in number of branch symbols. Conversely, complexity of the LUT increases only linearly with increase in number of branch symbols when using the partial (multidimensional) lattice slicing approach described herein.

The flowchart in FIG. 2 depicts an example method for partial (multidimensional) slicing for generating the most-probable branch vector hypotheses for high performance/low complexity sequence estimation.

In block 202, a new sample, τ_([n]), of a modulated signal is received.

In block 204, an inverse nonlinear function is operated on the received sample τ_([n]). The inverse nonlinear function may be an approximation of the inverse of a nonlinearity experienced by the modulated signal through the transmitter 100, channel 116, and/or receiver front end 110. The inverse nonlinear function may be adapted dynamically at the receiver for variations caused by, for example, a change of environmental conditions (e.g., temperature, power supply, etc.) and power level that may affect the nonlinear distortion level.

In block 206, the signal resulting from the operation of the inverse nonlinear function is filtered using an LPF (Low-Pass Filter) to reject out-of-band components that may be generated by the inverse nonlinear operation. In case that the nonlinear distortion is small comparing to the received signal-to-noise ratio (SNR), the blocks 204 and 206 may be bypassed.

In block 208, the residual signal value is calculated per survivor according to the term LPF{f_(NL) ⁻¹(τ_([n]))}−â _(1[n]) ^((m))·{tilde over (h)} ₁, where â _(1[n]) ^((m)) represents N−N₂ symbols of the m^(th) survivor at time instant n, and LPF{f_(NL) ⁻¹(τ_([n]))} represents the filtered inverse nonlinear signal.

In block 210, the resulting M residual signal values are used to generate Q hypotheses per survivor. Each hypothesis may consist of N₂ branch symbols that may override N₂−1 branch symbols of the survivor of the previous iteration. The hypothesis generation may be realized by a LUT or by arithmetic circuit.

In block 212, for each one of the M·Q successors, a branch metric is computed and accumulated with that successor's path score from the previous iteration to arrive at an updated path score.

In block 214, the M paths having the highest M updated path scores are selected to be the new survivors for the next iteration.

In block 216, the survivors are shifted one symbol. That is, the symbol at index N_(p) shifts out of the tail of the survivor, the symbol at index N_(p)+1 shifts to index N_(p), the symbol at index N_(p)+2 shifts to index N_(p)+1, and so on down to the symbol at index 0 shifting to index 1 such that the location at index 0 is ready for the next sample. The process then returns to block 202 in which that next sample is received.

The partial lattice corresponds to a subset of the taps of the PR filter, and thus they take part in the overall PR filter characteristics of the modulation such as spectrum response, susceptibility for nonlinear distortion, Symbol-Error-Rate (SER), Bit-Error-Rate (BER) and the resulting most probable error patterns (e.g., as described, for example, in the above-incorporated U.S. patent application Ser. Nos. 13/754,998 and 13/755,026). Therefore, the construction of the partial lattice may be combined with the design of the PR filter while the partial lattice considerations affects the ratios among the first N₂ taps of the PR filter. Considering the design of the partial lattice taps apart of the full PR filter, the construction of the partial lattice can be determined according to the following objectives:

Complexity: Regular partial lattice will enable low complexity slicing to provide the respective N₂ symbols for a hypothesis. A symmetrical lattice may be used to decouple I-Q and relax slicing complexity.

Performance: To maximize the minimal Euclidean distance (d _(min) ) between adjacent partial lattice points which increase the slicing reliability under high signal-to-noise (SNR) ratio and potentially nonlinear distortions.

Comply with the transmit spectrum mask limitation (e.g., spectral mask set forth by FCC or ETSI).

The above objectives may be in conflict and a constrained optimization is needed.Error! Reference source not found. As an example, FIG. 3 shows a two dimensional lattice (N₂=2) for QAM-32 which may be optimal for certain implementations of this disclosure. The first and second tap values are {tilde over (h)}₁=0.15; {tilde over (h)}₂=0.9, respectively (having a ratio {tilde over (h)}₁/{tilde over (h)}₂=6). This example is optimized for maximizing the minimal Euclidean distance (dmin) which is constant for all of the lattice points except for 25 square spaces reflecting the non-square QAM-32 scheme constructed by a grid of {±1, ±3, ±5}.

Error! Reference source not found. FIG. 4 delineates the Euclidean distance of the lattice as a function of {tilde over (h)}₁ for {tilde over (h)} ₂=0.9. The curve 408 represents d _(min) and the curve 402 represents the ratio between the maximal and the minimal distance across the lattice. The optimal lattice for d _(min) is obtained for {tilde over (h)}₁=0.15 (indicated with green diamond) which is the case that is described in the figure above. However, this solution does not necessarily comply with transmission spectral mask limitation determined by the spectrum of the PR filter and an alternative lattice structure should be considered. In this case, it is suggested to use one of the local optima such as {tilde over (h)}₁=0.338 (indicated by the red star).

FIG. 5 depicts the lattice when using the local optimum of {tilde over (h)}₁=0.338 (shown in FIG. 4).

FIG. 6 illustrates simulation results for residual signal values in which the transmitted signal was an ISC signal in the presence of noise and the partial lattice used was characterized by {tilde over (h)}₁=0.338; {tilde over (h)}₂=0.9.

We now consider a system with nonlinear distortion that affects the modulated signal. In that case, the signal can no longer be represented by a linear decomposition, such as is described above. Accordingly, an inverse estimation of the nonlinear model may be used on the received signal prior to the partial slicing. The nonlinear inverse will attempt to cancel the nonlinear distortion and will enable correct linear decomposition. The nonlinear inverse operation may enhance AWGN that distorts the received signal which may increase the distance of the correct hypothesis from the residual signal that may result in a CPL event caused by the limited coverage of the limited number of hypotheses. The partial slicing may tolerate that by increasing the number of hypotheses used per survivor.

The inverse nonlinear operation may result in spectral regrowth that produces out-of-band spectral components which are not present in the received signal due to filtering in the receiver (e.g., bandpass filter (BPF) at the RF font-end, analog lowpass filter (LPF) at the I-Q baseband, digital filters in the demodulator). Therefore a LPF may be used following the nonlinear inverse operation to improve the effectiveness of the partial slicing and hypotheses generation.

Assuming use of a suboptimal partial lattice such as depicted in FIG. 5, it is easy to notice that inner points are congested at the center of the lattice and become sparser at the boundaries. Consequently, the same number of hypotheses that are used at a point near the boundaries may occupy much larger volume compared to a point close to the center. Since detection is more reliable when hypotheses occupy large volume, in an example implementation, this behavior can be used to reduce complexity by using a different number of hypotheses which is related to the density (e.g., per volume unit) of points to maintain similar volume coverage over the lattice. In such an implementation, when the residual signal value is near one or more boundaries of the lattice, a smaller number of hypotheses may be used, and a larger number of hypotheses may be used when the residual signal value is closer to the center of the partial lattice. The reliability of the estimation based on the density of the lattice points described above may be used in the derivation of the soft output of the sequence estimation circuit 112 (e.g., bit Log-Likelihood Ratio—LLR) that feed a soft-input FEC decoder 114. That is, the LLRs may be weighted according to the associated location of the residual lattice point.

As was described above, iteration at time instant n provides Q hypotheses per survivor. In an example implementation, each of the hypotheses consists of N₂ symbols that may override the first N₂−1 symbols of the survivors from the iteration at time instant n−1. The symbol index N₂ of each the survivors from the iteration at time instant n−1 is not affected by the hypotheses generated at time instant n. Clearly, the first N₂−1 survived symbols values may vary by the next iterations thus the values of these symbols are used only for branch metric and score calculations that are used to select the new survivors. As the survivor number is limited (e.g., M survivors) it is desirable to increase the diversity among them on the symbol located at index N₂−1. Taking the hypotheses using the pure Euclidean distance may result with hypotheses that differ in the first (most recent) N₂−1 symbols but share the same symbols at location having index N₂−1. This lack of diversity among the hypotheses on the symbol located at index N₂−1 increases the probability of CPL and an error event. Therefore, in an example implementation, the hypotheses may be selected using a diversity-distance criteria, that is, a minimum Euclidean distance that is constrained for increased (or even maximum) diversity rather than pure Euclidean distance. In an example implementation, the diversity-distance criteria may be selected to ensure that, for any Q hypotheses (per survivor), there will be Q different symbols located at index N₂−1 in case that Q≦M, or M different symbols in case that Q>M. The diversity-distance criteria will increase the occupied volume of the hypotheses that can be used for improved performance as well as to reduce complexity by using fewer hypotheses to occupy similar volume as the Euclidean distance criteria. The diversity-distance criterion may be implemented using a LUT similar to the pure Euclidean distance criteria. The input to the LUT may be a quantized version of the residual signal. The quantization resolution may be smaller than the occupied volume of the hypotheses (i.e., it may be a relatively coarse quantization).

In an example implementation, an additional, or alternative, criteria may be used to ensure that, for any Q hypotheses (per survivor), at least a threshold number of the symbols located at index N₂−1 will be equal to the symbol at index N₂−2 in the hypothesis of the previous iteration. That is, when generating a hypothesis for a symbol at index N₂−1, some preference or bias may be given to the hypothesis that was generated for that symbol in the previous iteration when the symbol was at index N₂. The strength of such a bias may depend on the amplitudes of the tap coefficients corresponding to index N₂−2. That is, if the tap coefficient corresponding to index N₂−2 is very low (and thus very unreliable), then perhaps little or no preference may be given to the hypothesis from the previous iteration, but if the tap coefficient corresponding to index N₂−2 is relatively high (and thus relatively reliable), then more preference may be given to the hypothesis from the previous iteration.

The sequence estimation uses the paths score that are updated by the branch metric as described with reference to equations 1,2,3. The path score uses the first N_(p) symbols per path. Therefore, the branch metrics and scores may be regressively recomputed N₂−1 times due to the overriding of the first N₂−1 symbols of the previous branch vector hypotheses.

In case of high SNR and/or low nonlinear distortion, the variance of the residual signal around the lattice point will be small and a relatively low number of hypotheses may be sufficient to protect against CPL. However, in low SNR and/or high nonlinear distortion conditions, the variance may increase and a relatively-higher number of hypotheses may be needed to sufficiently protect against CPL. Accordingly, the number of hypotheses may be adapted according to the SNR and/or amount of nonlinearity to reduce complexity and power consumption when possible.

FIG. 7 depicts operations of an example implementation of the sequence estimation circuit of FIG. 1. In the example implementation shown, M=2, Q=2, and N₂=2. In the example implementation shown, the sequence estimation circuit 112 comprises circuit 706 for implementing a shift operation, circuit 70 for implementing a residual signal calculation operation, circuit 710 for implementing a partial lattice slicing operation, circuit 710 for generating successors based on the survivors from the previous iteration and based on the hypotheses generated by the slicing, circuit 722 for calculating branch metric for the successors, circuit 724 for updating path metrics based on the previous path metrics and the calculated branch metrics, circuit 726 for performing applying the inverse nonlinear model to the current sample of the received signal 117, circuit 728 for low pass filtering the output of circuit 726, and circuit 732 for performing a convolution.

In operation, the symbol constellation 730 used by the transmitter 100 for generating the signal 115 (received by the receiver 108 as signal 117) is convolved with {tilde over (h)} ₂ to generate the partial lattice. For the example of 32-QAM, the convolution may result in the partial lattice of FIG. 5 (reproduced in FIG. 7). The symbol survivors from the previous iteration are collectively referenced as 701. Each of the survivors comprises a first portion 702 (e.g., symbols locations with indexes from N_(p) to N₂) which are final and not subject to being overridden, and a second portion 704 (e.g., symbol locations with indexes from N₂−1 to 0) which correspond to hypotheses of a previous iterations and are subject to being overridden.

The survivors 701 are shifted by circuit 706 resulting in M vectors 707 which are a first input to the circuit 708. In the example implementation depicted, the symbols in the first two locations (indexes N₂−1 and 0) are “don't cares” after the shift, since they are not needed for calculation of the residual signal values. For practical purposes, a symbol from the previous hypothesis may remain in location with index N₂−1 and a zero may be inserted into location with index 0 until they are overridden by a newly generated hypothesis.

The current sample of the received signal is operated on by the circuits 726 and 278 resulting in signal 729 which is a second input to the circuit 708. The circuit 708 calculates M residual signal values D_(τ[n]) ¹ . . . D_(τ[n]) ^(M) (reference designator 709) based on the vectors 707 and the signal 729. Each of the residual signal values is then sliced by circuit 710 to generate M*Q hypotheses 711. In an example implementation, the circuit 710 comprises a memory storing a look-up table indexed by values of D_(x). For each of the residual signal values, the circuit 710 may determine the Q values of D_(x) that are closest to residual signal value (e.g., based on a diversity-distance criteria), and retrieve the corresponding Q branch vector hypotheses. The hypotheses are output to circuit 712 which duplicates each of the vectors 707 Q−1 times and then inserts the Q hypothesis into the most-recent N₂ symbols of the vector, resulting in M*Q successors. Circuit 722 then calculates a branch metric (e.g., according to expression (2) above) for each of the M*Q successors. The branch metrics are output to circuit 724 which updates the path metrics (e.g., according to expression (3)) above. The M successors having the best path metrics are selected to be the survivors for the next iteration (i.e., for estimating same τ_([n+1])). The survivor having the best path score may thus represent the best estimate of the transmitted symbol sequence corresponding to the received sample r[n]. One or more symbols of the best survivor may accordingly be output by the sequence estimation circuit 112 (e.g., output to FEC decoder 114) as an estimate of a transmitted symbol. For example, at time n, the symbol at index N₂−1 of the best survivor may be output as the estimate of the symbol transmitted by transmitter 100 at time n−N₂−1−Δ, where Δ is the delay, in symbol times, between a symbol being transmitted by transmitter 100 and the corresponding signal being sampled by receiver 108. The output may be a hard decision or a soft-decision (e.g., an LLR). The soft-decision may be weighted based on the location of the residual signal value within the partial lattice (e.g., LLR may indicate increased confidence of a particular symbol value when the residual signal is closer to a boundary of the partial lattice).

In accordance with an example implementation of this disclosure, a sample of PR (Partial Response) signal can be represented by a lattice point that belongs to a full dimension lattice that consists of M^(N) ^(p) points, where M is the symbols constellation (Alphabet) size and N_(p) is the PR pulse shape filter length (in symbol periods). Assuming that the tap coefficients of the PR filter are designed such that no pair of distinct symbol sequences map to the same lattice point, and assuming perfect reception without AWGN nor other distortion, one can use slicing techniques to decide on N_(p) information symbols. Clearly this approach is very sensitive to AWGN (and distortion) and it is different from optimal detection methods such as Maximum Likelihood (ML). However this approach may be modified to drive a sequence estimation algorithm and to achieve near ML performance without an exhaustive path search. Slicing M^(N) ^(p) points is very complicated in case of large M and/or N_(p). Instead of slicing the full dimensional lattice, it is possible to slice part of it which is referred to as a partial lattice. Partial lattice is a lattice which consists of subset of the PR filter taps. Any received sample in a full dimension lattice may be expressed as the inner product of all PR filter taps (N_(p)) with the same number of transmitted symbols. Subtraction of a lower dimensional inner product that consists of N-N₂ taps with the respective N_(p)-N₂ symbols yields a residual signal which corresponds to a point of a partial lattice with dimension of N₂. The residual signal can be expressed as the inner product of N₂ taps and symbols. In an M-algorithm sequence estimation, N_(p) symbols of each successor path (M successors per survivor) are multiplied by the N_(p) tap coefficients of the PR filter. Instead of doing that, example implementations of this disclosure may use a partial product to select the most probable hypotheses per survivor. In such an implementation, N_(p)-N₂ survivor symbols, typically, excluding the N₂ most recent symbols, are multiplied with the respective N_(p)-N₂ PR filter tap coefficients. Subtracting the product from the received signal results in a residual signal that can be represented as a point of the partial lattice with dimension of N₂. Now, the residual signal can be sliced (with a LUT or arithmetically) to provide N₂ symbols which are in fact the most probable symbols of the residual signal. However, the most probable hypothesis that relies on received samples at time instant n may not be the correct one, and the correct hypothesis may be detected with some delay, at time instant n+k (k>0). Therefore, it is suggested to use additional hypotheses that are represented by points of the partial lattice which lie around the most probable one and to use them for generating the successors instead of the full search based on M successors per survivor. This approach significantly reduces complexity relative to M-algorithm approach when M is large.

In accordance with an example implementation of this disclosure, a sequence estimation circuit (e.g., 112) of a receiver (e.g., 108) may receive a sample of an inter-symbol correlated (ISC) signal (e.g., r_([n]) FIG. 7) corresponding to a time instant when phase and/or amplitude of the ISC signal is a result of correlation among a plurality of symbols of a transmitted symbol sequence. The sequence estimation circuit may calculate a residual signal value (e.g., 709) based on the sample of the ISC signal and based on a survivor sequence. The sequence estimation circuit may generate a one or more branch vector hypotheses (e.g., 711) based on the residual signal value, where each of the hypotheses comprises a plurality of symbols. The sequence estimation circuit may generate an estimate of one or more of the plurality of transmitted symbols based on the one or more branch vector hypotheses. The sequence estimation circuit may linearize (e.g., via circuit 726) the sample of said ISC signal. The linearization may comprise applying an estimate of an inverse of a non-linear model. The non-linear model may be a model of nonlinearity experienced by the ISC signal in one or more of: a transmitter from which the ISC signal originated (e.g., transmitter 100), a channel through which the ISC passed en route to the sequence estimation circuit (e.g., channel 116); and a front-end of the receiver (e.g., 110). The sequence estimation circuit may be configured to filter (e.g., via filter 728) the linearized sample. The sequence estimation circuit may be configured to generate the one or more branch vector hypotheses using a multidimensional partial lattice (e.g., lattice of FIG. 5). The multidimensional partial lattice may be based on a symbol constellation used to generate the transmitted symbols, and a subset of tap coefficients (e.g., {tilde over (h)} ₁ and {tilde over (h)} ₂) of a filter that models a composite response experienced by the transmitted symbols en route to the sequence estimation circuit. Each of the one or more branch vector hypotheses may comprise N_(p) symbols, where N_(p) is a positive integer. The symbol constellation may comprises M symbols, where M is an integer greater than 1 (e.g., 32-QAM). A quantity of branch vectors hypotheses in the one or more branch vector hypotheses may be less than M^(N) ^(p) .

A quantity of branch vectors hypotheses in the one or more branch vector hypotheses may be determined (e.g., in real-time) per sample of the received ISC signal such that different quantities of branch vectors hypotheses may be generated for consecutive samples of the received ISC signal. For example, a larger quantity may be used for a sample corresponding to a residual signal value that is relatively close (e.g., within a determined Euclidean distance D_(E)) to the center of the multidimensional partial lattice and a smaller quantity may be used for a sample corresponding to a residual signal value that is relatively far (e.g., not within the determined Euclidean distance D_(E)) from the center of the multidimensional partial lattice. As another example, a larger quantity may be used for samples having a relatively low signal-to-noise ratio (e.g., below a determined threshold SNR Th_(SNR)) and a smaller quantity may be used for samples having a relatively high signal-to-noise ratio (e.g., above the determined threshold SNR Th_(SNR)). As another example, a larger quantity may be used for samples experiencing relatively large amounts of nonlinear distortion (e.g., above a determined threshold distortion Th_(NL)) and a smaller quantity may be used for samples experiencing relatively small amounts of nonlinear distortion (e.g., below the determined threshold distortion Th_(NL)).

The ISC signal may comprise a single-carrier or multiple orthogonal frequency division multiplexed (OFDM) carriers. The transmitted symbol sequence may have been transmitted in accordance with a regulatory spectral mask (e.g., set forth by the FCC or ETSI). The one or more of the branch vector hypotheses may be used to extend a survivor vector, wherein, as part of the extension of the survivor vector, one or more symbols of the survivor vector corresponding to a previous branch vector hypothesis (e.g., symbol at N₂−1) is overridden by one or more of the plurality of symbols of the one or more of the branch vector.

The present method and/or system may be realized in hardware, software, or a combination of hardware and software. The present methods and/or systems may be realized in a centralized fashion in at least one computing system, or in a distributed fashion where different elements are spread across several interconnected computing systems. Any kind of computing system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computing system with a program or other code that, when being loaded and executed, controls the computing system such that it carries out the methods described herein. Another typical implementation may comprise an application specific integrated circuit or chip. Some implementations may comprise a non-transitory machine-readable (e.g., computer readable) medium (e.g., FLASH drive, optical disk, magnetic storage disk, or the like) having stored thereon one or more lines of code executable by a machine, thereby causing the machine to perform processes as described herein.

While the present method and/or system has been described with reference to certain implementations, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present method and/or system. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present disclosure without departing from its scope. Therefore, it is intended that the present method and/or system not be limited to the particular implementations disclosed, but that the present method and/or system will include all implementations falling within the scope of the appended claims.

As utilized herein the terms “circuits” and “circuitry” refer to physical electronic components (i.e. hardware) and any software and/or firmware (“code”) which may configure the hardware, be executed by the hardware, and or otherwise be associated with the hardware. As used herein, for example, a particular processor and memory may comprise a first “circuit” when executing a first one or more lines of code and may comprise a second “circuit” when executing a second one or more lines of code. As utilized herein, “and/or” means any one or more of the items in the list joined by “and/or”. As an example, “x and/or y” means any element of the three-element set {(x), (y), (x, y)}. As another example, “x, y, and/or z” means any element of the seven-element set {(x), (y), (z), (x, y), (x, z), (y, z), (x, y, z)}. As utilized herein, the terms “e.g.,” and “for example” set off lists of one or more non-limiting examples, instances, or illustrations. As utilized herein, circuitry is “operable” to perform a function whenever the circuitry comprises the necessary hardware and code (if any is necessary) to perform the function, regardless of whether performance of the function is disabled, or not enabled, by some user-configurable setting. 

What is claimed is:
 1. A system comprising: a receiver configured to: receive a sample of an inter-symbol correlated (ISC) signal, said sample corresponding to a time instant when phase and/or amplitude of said ISC signal is a result of correlation among a plurality of symbols of a transmitted symbol sequence; linearize said sample of said ISC signal; calculate a residual signal value based on said linearized sample of said ISC signal; and generate an estimate of one or more of said plurality of symbols based on said residual signal value, wherein: said receiver is configured to generate one or more branch vector hypotheses based on said residual signal value; each of said one or more hypotheses comprises a plurality of symbols; said receiver is configured to generate said estimate of said one or more of said plurality of symbols based on said one or more branch vector hypotheses; and a quantity of branch vector hypotheses in said one or more branch vector hypotheses is determined per sample of said ISC signal such that different quantities of branch vectors hypotheses may be generated for consecutive samples of said ISC signal.
 2. The system of claim 1, wherein: said linearization comprises applying an estimate of an inverse of a non-linear model.
 3. The system of claim 2, wherein said non-linear model is a model of nonlinearity experienced by said ISC signal in a transmitter from which said ISC signal originated.
 4. The system of claim 2, wherein said non-linear model is a model of nonlinearity experienced by said ISC signal in a channel through which said ISC signal passed en route to said receiver.
 5. The system of claim 2, wherein said non-linear model is a model of nonlinearity experienced by said ISC signal in a front-end of said receiver.
 6. The system of claim 1, wherein said receiver is configured to, subsequent to said linearization and prior to said generation of said estimate of said one or more of said plurality of symbols, filter said sample of said ISC signal.
 7. The system of claim 1, wherein: said quantity of branch vector hypotheses is larger for a sample of said ISC signal corresponding to a residual signal value that is relatively close to a center of a multidimensional partial lattice; and said quantity of branch vector hypotheses is smaller for a sample of said ISC signal corresponding to a residual signal value that is relatively far from said center of said multidimensional partial lattice.
 8. The system of claim 1, wherein said quantity of branch vector hypotheses is determined based on a signal-to-noise ratio.
 9. The system of claim 1, wherein said quantity of branch vector hypotheses is determined based on an amount of non-linear distortion experienced by said ISC signal.
 10. The system of claim 1, wherein said receiver is configured to generate said one or more branch vector hypotheses based on a minimal Euclidean distance criterion.
 11. The system of claim 1, wherein said receiver is configured to generate said one or more branch vector hypotheses based on a diversity-distance criterion.
 12. The system of claim 1, wherein said estimate of said one or more of said plurality of symbols is a soft-decision.
 13. The system of claim 12, wherein said soft decision is weighted based on said residual signal value. 